home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.3 Development Libraries / SGI IRIX 6.3 Development Libraries.iso / dist / dist6.3 / ViewKit_dev.idb / usr / include / Vk / VkDoubleBuffer.h.z / VkDoubleBuffer.h
C/C++ Source or Header  |  1996-09-20  |  2KB  |  55 lines

  1. ////////////////////////////////////////////////////////////////////////////////
  2. ///////   Copyright 1992, Silicon Graphics, Inc.  All Rights Reserved.   ///////
  3. //                                                                            //
  4. // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;     //
  5. // the contents of this file may not be disclosed to third parties, copied    //
  6. // or duplicated in any form, in whole or in part, without the prior written  //
  7. // permission of Silicon Graphics, Inc.                                       //
  8. //                                                                            //
  9. // RESTRICTED RIGHTS LEGEND:                                                  //
  10. // Use,duplication or disclosure by the Government is subject to restrictions //
  11. // as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data     //
  12. // and Computer Software clause at DFARS 252.227-7013, and/or in similar or   //
  13. // successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -    //
  14. // rights reserved under the Copyright Laws of the United States.             //
  15. //                                                                            //
  16. ////////////////////////////////////////////////////////////////////////////////
  17. #ifndef VKDOUBLEBUFFER_H
  18. #define VKDOUBLEBUFFER_H
  19.  
  20. #include <Vk/VkComponent.h>
  21.  
  22. class VkDoubleBuffer : public VkComponent {
  23.  
  24.   public:
  25.  
  26.     VkDoubleBuffer(const char * name, Widget);
  27.    ~VkDoubleBuffer();
  28.     virtual void update();
  29.     virtual const char* className();
  30.  
  31.     virtual void setBackground(Pixel bg);
  32.  
  33.   protected:
  34.  
  35.     Pixmap _canvas;
  36.  
  37.     Dimension _width, _height;
  38.  
  39.     virtual void resize();
  40.     virtual void draw() = 0;
  41.  
  42.   private:
  43.  
  44.     GC _buffergc;
  45.     Pixmap _front, _back;
  46.  
  47.     static void redisplayCallback(Widget, XtPointer, XtPointer);
  48.     static void resizeCallback(Widget, XtPointer, XtPointer);
  49.     void redisplay();
  50.     void hiddenResize();
  51.     void swapBuffers();
  52. }; 
  53.  
  54. #endif
  55.